﻿using Abp.Application.Services.Dto;
using Mt.Site.Application.Authorization.Permissions.Dto;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Mt.Site.Application.Authorization.Permissions
{
    public interface IPermissionAppService : IBackEndAppService
    {
        Task<ListResultDto<FlatPermissionWithLevelDto>> GetAllPermissionsAsync();

        Task<List<FlatMenuPermissionDto>> GetAllMenuPermissionsAsync();

        Task<List<FlatPermissionWithLevelDto>> GetAllPermissionsOrderByDisplayNameAsync();

        //Task<List<FlatMenuPermissionDto>> GetPermissionsByMenuIdAsync();

        List<FlatPermissionDto> GetPermissionsByModuleNameAsync(string moduleName);

        Task<string> GetModuleNameByMenuIdAsync(Guid menuId);
    }
}
